For the purpose of the present description, an “untrusted environment” shall be understood to mean any communications or networking environment in which it is possible for attackers to modify messages, delete messages or even add or replay messages. The public Internet is a common example of an untrusted environment, since it is not possible to prohibit attackers from modifying, deleting, adding or duplicating messages.
For the purposes of the present description, a “sensitive transaction” shall be understood to refer to any message exchange or communications session between two or more parties, in which it is desired that message content(s) should be reliably transferred between the parties, and be secure against unauthorized viewing and/or manipulation. Examples of “sensitive transactions” include, but are not limited to: financial transactions such as electronic funds transfers and eCommerce; remote sensing and telemetry data transfer messaging; and electronic voting schemes.
Internet-based electronic transaction systems are well known in the art. In order to mitigate risks associated with sensitive transactions in an un-trusted environment such as the Internet, such systems typically employ a secure server, which acts as an intermediary between parties to any electronic transaction. In some cases, the secure server merely serves to authenticate the parties. More commonly, the secure server both authenticates the parties and controls the actual funds transfer. As a result, the secure server is able to provide both parties with confidence that the transaction has been completed properly, and also enables the server to generate a detailed audit trail, by which the service provider can detect fraudulent or otherwise inappropriate use of the system by any party. A limitation of this arrangement is that the requirement for users to log into the central server in order to perform any transaction, is inconvenient, and thus so limits user acceptance of the system.
Various schemes have been proposed which are intended to enable electronic person-to-person financial transactions in a manner that is directly analogous to fiat cash transactions, in that the intervention of a central server to mediate the transfer of funds is not used. A central theme of such systems is the provision of security mechanisms that provide at least the same level of security and trustworthiness that is afforded by conventional central server-based systems, but without the inconvenience of requiring the parties to log into a central server. However, these systems suffer a limitation in that, because a user may log into a central server infrequently (or even never), there is no reliable mechanism by which a service provider can build an audit trail that would permit the detection of fraudulent or otherwise inappropriate activity.